perm filename SETMAG[MUS,LCS] blob
sn#269282 filedate 1977-03-09 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 <comment: type 'SETMAG nchns, srate'
C00006 ENDMK
C⊗;
<comment: type 'SETMAG; nchns, srate' ;
FUNCTION MAGERR(X);
BEGIN PRINT "IMPROPER INPUT. "; X←0;
print "Type number of channels and sample rate: ";
END;
FUNCTION ADJRATE; BEGIN
IF SRATE < 6400 THEN BEGIN
IF SRATE = 1 THEN SRATE ← 12800;
IF SRATE = 2 THEN SRATE ← 25600;
IF SRATE = 3 THEN SRATE ← 51200;
IF SRATE = 4 THEN SRATE ← 102400;
IF SRATE = 5 THEN SRATE ← 204800;
IF SRATE <10 THEN SRATE ← 6400;
IF SRATE <20 THEN SRATE ← 12800;
IF SRATE <50 THEN SRATE ← 25600;
IF SRATE <100 THEN SRATE ← 51200;
IF SRATE <200 THEN SRATE ← 102400;
IF SRATE <400 THEN SRATE ← 204800;
COMMENT: YOU MAY TYPE 1 OR 12 FOR 12800, ETC.;
END; END;
Function SETMAG;
begin
VARIABLE X; X←0;
WHILE X = 0 DO
BEGIN X←1; rdnum(nchns); rdnum(srate);
IF NCHNS > 4 THEN MAGERR(X);
IF NCHNS = 3 THEN MAGERR(X);
IF NCHNS < 1 THEN MAGERR(X);
ADJRATE;
COMMENT: ONLY 6400, 12800, ETC. ARE ACCEPTED;
IF INT(SRATE/6400+.1) ≠ SRATE/6400 THEN MAGERR(X);
END;
SPEED←INT(ALOG(SRATE/6400)/ALOG(2)+.1); mag←512/srate;
PRINT "NCHNS=",NCHNS," SRATE=",SRATE," SPEED=",SPEED;
end;